home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 February: Tool Chest / Dev.CD Feb 94.toast / New System Software Extensions / QuickDraw™ GX v1.0ß2 / Interfaces & Libraries / interfaces / generic macros.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-07-29  |  746 b   |  17 lines  |  [TEXT/MPS ]

  1. /* memory manager:
  2.     generic macro definitions
  3.     by Cary Clark, Georgiann Delaney, Michael Fairman, Dave Good, Robert Johnson, Keith McGreggor, Oliver Steele, David Van Brink, Chris Yerga
  4.     Copyright 1987 - 1991 Apple Computer, Inc.  All rights reserved.    */
  5.  
  6. #ifndef genericMacrosIncludes
  7.     #define genericMacrosIncludes
  8.  
  9.     #define sizeField(structure, field)     sizeof(((structure *) 0)->field)
  10.     #define sizeArray(type, length)     ((long) &((type *) 0)[length])
  11.     #define offsetField(type, field)        ((long) &((type *) 0)->field)
  12.  
  13.     #define Exchange(a, b)              {register long temp = (a); (a) = (b); (b) = temp;}
  14.     #define SwapType(type, a, b)        {register type temp = (a); (a) = (b); (b) = temp;}
  15.  
  16. #endif
  17.